This invention relates to an improvement in a movement compensation predictive coding/decoding method for effecting a bandwidth compression and expansion of a digital moving picture.
As the technique for carrying out an efficient coding of a moving picture, a movement compensation interframe predictive coding technique is known. In accordance with this technique, movement of a picture between frames is first detected for every pixel or every block, each comprised of a plurality of pixels. Then, a picture is newly synthesized, using this movement vector, from the pixels of a decoded picture one frame before, and a difference between a current frame and the synthesized picture and the movement vector are coded. Furthermore, in the decoding system, the above-mentioned difference and movement vector are decoded. Then, the current frame is decoded using the decoded picture of the preceding frame.
Block diagrams of conventional coding and decoding systems are shown in FIGS. 1 and 2, respectively.
Initially, the conventional coding system will be described. In the coding system shown in FIG. 1, an input picture O comprised of L.times.M pixels exists in a frame memory (hereinafter abbreviated as FM) 1. Furthermore, a decoded picture one frame before, which is comprised of L.times.M pixels, exists in a decode frame memory (hereinafter abbreviated as DFM) 2.
When a scene change is detected as a result of comparison of a picture of the current frame with a decoded picture of the preceding frame at a scene change detector (hereinafter abbreviated as SCNG) 3, or at the time of start of coding, an intraframe coding is conducted at an intraframe encoder (hereinafter abbreviated as ENC-INT) 4. The code thus obtained is inputted to code buffer (hereinafter abbreviated as BUF) 14 through selector (hereinafter abbreviated as 1st SEL) 5. Furthermore, an output from the ENC-INT 4 is inputted to an intraframe decoder (hereinafter abbreviated as DEC-INT) 6, at which the intraframe decoding is performed. The output thus decoded is inputted to the DFM 2 through a selector (abbreviated as SEL0) 7.
In contrast, when no scene change is detected, detection of a movement vector between frames is made by a movement compensation circuit (hereinafter abbreviated as MC) 8 by comparison with a decoded picture D in the DFM 2. Thus, a synthesized picture G is formed by the decoded picture in the DFM 2 and the movement vector. The movement vector is coded by a movement vector encoder (hereinafter abbreviated as an ENC-MV) 9. Furthermore, a difference between the synthesized picture G and the input picture O is coded at a difference encoder (hereinafter abbreviated as ENC-DIF) 10. Then, the coded output is decoded at a difference decoder (hereinafter abbreviated as DEC-DIF) 11. The decoded output is delayed at a delay circuit (hereinafter abbreviated as FD) 12, and is then inputted to the DFM 2 through the SEL0 7.
After a code of the movement vector, a code of difference, and code of presence or absence of scene change are multiplexed by a multiplexer (hereinafter abbreviated as SAF) 13, and then inputted to a buffer for code (hereinafter abbreviated as BUF) 14 through the 1st SEL 5. The codes in the BUF 14 are sequentially outputted in accordance with the status of the transmission path.
The conventional decoding system will now be described with reference to FIG. 2. In the coding system, a code from the transmission path is once stored in a buffer 19. The transfer speed of the code is adjusted and is then outputted. When the code of scene change is detected at a scene change decoder (hereinafter abbreviated as SCNG-DEC) 20 of the decoding system, the code which has been subjected to intraframe coding by the coding system is delivered to an intraframe decoder (DEC-INT) 22 through a selector (hereinafter abbreviated as SFL0) 21. The picture decoded by the DEC-INT 22 is delivered to a frame memory for decoded pictures (hereinafter abbreviated as DFM) 24 through a first selector (hereinafter abbreviated as 1st SEL) 23 and is outputted through a second selector (hereinafter abbreviated as 2nd SEL) 25.
When no code of scene change is detected, the code from the BUF 19 is divided into the movement vector and the code of difference at the selector SEL0 21. The code of the movement vector is decoded at a movement vector decoder (hereinafter DEC-MV) 26, and the code of difference is decoded at the difference code decoder (not shown).
The decoded movement vector is delivered to a movement compensation circuit (hereinafter abbreviated as MC) 27. A decoded picture before one frame in the DFM 24 is delivered to the MC 27. Using this decoded picture, a synthesized picture G is formed from the movement vector by the MC 27. Furthermore, a decoded picture of the current frame is formed by the sum of the decoded difference picture and the synthesized picture, and is then outputted. After the output thus obtained is delayed at delay circuit (hereinafter abbreviated as a FD) 28, it is delivered to DFM 24. The output thus delivered is used for decoding operation of the next frame.
Meanwhile, in the above-described coding system, when the movement vector is detected within the range of .+-.N pixels, correlation between blocks in an input picture and (2N+1).times.(2N+1) blocks in the vicinity of corresponding positions in the decoded picture is determined by using the evaluation function. The detection of the movement vectors is made by the difference between the position of the highly correlative blocks and the positions of the blocks in the input picture.
As stated above, in the prior art, where the movement vector is searched within the range of .+-.N pixels, the movement vector is determined by the evaluation of correlation with respect to (2N+1).times.(2N+1) blocks between frames or fields, so the resolution of the movement vector was one pixel.
For this reason, the movement vector detected when a picture is moving by 0.5 pixels between frames becomes "0" or "1" in dependency upon the positions of blocks. Accordingly, there were the following problems: The movement cannot be smoothly expressed; degradation of the picture quality takes place because movement differs for each block; demand for the transfer capacity increases due to an increase in the difference data, and the like.